package chatModel;

/**
 * Classe qui contient des constantes, ces valeurs permettent d'identifier le type de notififcation
 * 
 */
public class Choix {

    /*
     * Etats
     */
    
    /**
     * Indique que le ChatSystem est connecté
     */
    public static final int etatConnected = 1;
    
    /**
     * Indique que le ChatSystem est deconnecté
     */
    public static final int etatDisconnected = 2;
    /**
     * Indique l'envoi d'un fichier
     */
    public static final int etatSendingFile = 3;
    /**
     * Indique la rception d'un fichier
     */
    public static final int etatRcvingFile = 4;
    
    
    /*
     * Commun GUI et NI
     */
    
    /**
     * On a réussi à se connecter, on envoyer un Hello en broadcast
     */
    public static final int connexionOk = 5;
    
    /**
     * On a cliqué sur deconnexion => on envoie un bye à tout le monde et on affiche la fenetre de connexion
     */
    public static final int deconnexionOk = 6; //OK
    
    /**
     * Le fichier a été accepté, on démarre le thread qui envoie le fichier
     */
    public static final int rcvAcceptedFile = 7; //OK
    
    
    /*
     * GUI
     */
    
    /**
     * ChatGui affiche une fenetre pour que l'utilisateur puisse donner une réponse
     * s'il accepte on ouvre une autre fenetre pour préciser l'emplacement et quand il appuie sur OK on envoie la confirmation d'acceptation
     */
    public static final int fileNotif = 8; //OK
    
    /**
     * Quand on reçoit un ChatMessage, on l'ajoute dans la conversation qui correspond, et la classe Utilisateur demande au GUI de mettre
     * à jour la conversation
     */
    public static final int rcvMsg = 9;  //OK
    
    /**
     * L'utilisateur local envoi un message qu'il faut afficher dans le GUI
     */
    public static final int afficherMsg = 10;  //OK
   
   /**
     * Le fichier a été refusé, on affiche une fenetre pour prévenir l'utilisateur (fenetre pas faite !!)
     */
    public static final int rcvRefusedFile = 11; //OK
    
    
    public static final int fichierRecuOuEnvoye = 12; //OK
    
    public static final int connectdeconnect = 13;
    
    
    /*
     * NI
     */
    
    /**
     * On reçoit un Hello d'un nouvel utilisateur => on envoie un ack et on l'ajoute dans la liste
     */
    public static final int rcvNewHello = 14;  //OK
    
    /**
     * On dit au ChatNI d'envoyer le message à l'utilisateur et on ajoute ce message dans la conversation qu'on a avec l'utilisateur
     */
    public static final int sendMsgOneUser = 15; //OK
    
    /**
     * On dit au ChatNI d'envoyer le message en broadcast et on ajoute se message dans la conversation qu'on a avec tous les utilisateurs
     */
    public static final int sendMsgAllUser = 16; //OK
    
    /**
     * On dit au ChatNI d'envoyer une demande de reception de fichier à un utilisateur
     */
    public static final int sendFileNotifOneUser = 17; //OK
    
   /**
     * On dit au ChatNI d'envoyer une demande de reception de fichier à tous les utilisateurs
     */
    public static final int sendFileNotifAllUser = 18; //OK
    
    /**
     * On dit au ChatNI d'envoyer un ack positif, on veut recevoir le fichier, et on démarre le thread de la reception
     */
    public static final int confAcceptFileOk = 19; //OK
    
    /**
     * On dit au ChatNI d'envoyer un ack négatif, on ne veut pas recevoir le fichier
     */ 
    public static final int confAcceptFileNoOk = 20; //OK
    
    /**
     * Quand on appuie sur la croix pour fermer on quitte le chat et on envoie un bye
     */
    public static final int quitChat = 21; //OK
}
